package cn.stylefeng.guns.modular.yingbao.service;

import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.modular.yingbao.entity.SysBuilding;
import cn.stylefeng.guns.modular.yingbao.model.params.SysBuildingParam;
import cn.stylefeng.guns.modular.yingbao.model.result.SysBuildingResult;
import cn.stylefeng.roses.core.reqres.response.ResponseData;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 建仓订单表 服务类
 * </p>
 *
 * @author jj
 * @since 2019-12-18
 */
public interface SysBuildingService extends IService<SysBuilding> {

    /**
     * 新增
     *
     * @author jj
     * @Date 2019-12-18
     */
    void add(SysBuildingParam param);

    /**
     * 删除
     *
     * @author jj
     * @Date 2019-12-18
     */
    void delete(SysBuildingParam param);

    /**
     * 更新
     *
     * @author jj
     * @Date 2019-12-18
     */
    void update(SysBuildingParam param);

    /**
     * 查询单条数据，Specification模式
     *
     * @author jj
     * @Date 2019-12-18
     */
    SysBuildingResult findBySpec(SysBuildingParam param);

    /**
     * 查询列表，Specification模式
     *
     * @author jj
     * @Date 2019-12-18
     */
    List<SysBuildingResult> findListBySpec(SysBuildingParam param);

    /**
     * 查询分页数据，Specification模式
     *
     * @author jj
     * @Date 2019-12-18
     */
    LayuiPageInfo findPageBySpec(SysBuildingParam param);
     /**
     * @description :建仓
     * @param userid 
     * @param price
     * @date : 2019/12/18 14:07
     * @author : jj
     */
    ResponseData building(Long userid, Long price);
    
    /**
    * @description :查看建仓
    * @param userid 
    * @param ordinal
    * @date : 2019/12/18 14:55
    * @author : jj
    */

    ResponseData buildingLook(Long userid, String ordinal,String stuats);

    /**
     * @description :查看建仓
     * @param userid
     * @date : 2019/12/18 14:55
     * @author : jj
     */

    ResponseData buildingListLook(Long userid,String stuats);
    /**
    * @description :查看团队收益
    * @param userid 
    * @param pageNum 
    * @param pageSize
    * @date : 2019/12/20 14:03
    * @author : jj
    */
    ResponseData groupEarnings(Long userid, int pageNum, int pageSize);
    /**
    * @description :团队结果
    * @param userid 
    * @date : 2019/12/20 14:16
    * @author : jj
    */
    ResponseData group(Long userid);

    void updateBuilding();
}
